1. Field of the Invention
The present invention relates to a serial bus diagnostic port of a digital system.
2. Description of the Related Art
With the growing proliferation of digital systems, which for example include computers, digital televisions, digital camcorders, satellite receivers, digital cameras, digital video or versatile disc (DVD) players, digital cell phones, digital video cassette recorders, digital scanners, game players, set-top boxes, digital monitors, personal digital assistants and to MP3 players, debugging of digital systems is becoming a paramount concern. Debugging of digital systems has typically involved use of integrated legacy devices such as a parallel port, a RS-232 or compatible port, or a floppy drive. For example, debugging of a computer system can entail use of a parallel port, RS-232 port, or a floppy drive. A parallel port has commonly been used to program flash memory in a portable computer system using a Super I/O chip. A RS-232 or EIA232 port, a standard serial port for connecting to serial devices such as a modem or mouse, has commonly been used for debugging of an operating system of a computer system. Before a computer system is shipped, a computer manufacturer has typically programmed BIOS (Basic Input/Output Services) for the computer system utilizing a floppy drive. In fact, a floppy drive of a computer system has typically been used more for diagnostic and debugging purposes than general file transfer purposes. Other examples of integrated legacy devices of digital systems used for debugging purposes include dedicated debug ports and proprietary modules for flash programming and testing.
Digital systems are increasingly integrating more logic, particularly in the case of system-on-a-chip implementations, such that certain internal busses are no longer accessible for debug purposes. Without access to these internal busses, not only have many highly integrated digital systems become less reliable, but also development costs of many highly integrated digital systems have increased.
Recently, with the current evolution of digital systems, there has been a growing shift toward legacy-free digital systems to improve system reliability, lower system costs, and enhance ease of use. As a result, legacy devices, such as a parallel port, a RS-232 port and a floppy drive, which were typically integrated in a digital system are increasingly not being offered or supported on new digital systems. Thus, for many new digital systems, an effective way of debugging a digital system has not been available. Further, since support of legacy devices by digital systems has varied among older digital systems and among newer digital systems, there is currently no industry standard methodology for debugging or diagnosing a digital system.
Digital systems are increasing supporting universal serial bus (USB) ports. USB ports, however, have been ill-suited for software debugging in light of the software-intensive nature of a universal serial bus. Typically, in a computer system having USB ports, a USB master controller is virtualized and embedded in an operating system, such that software debugging of the computer system has not been a viable option. Serial or parallel ports or headers and/or proprietary modules have typically been integrated into digital systems with USB ports to allow for debugging. Debugging of digital systems thus has primarily or strictly been limited to the integrated legacy devices described above.
Briefly, a digital system provides a serial bus diagnostic port such as, for example, a universal serial bus (USB) diagnostic port. The USB diagnostic port can include a USB slave device operable to interface to a universal serial bus, a flash memory controller interface coupled to the USB slave device and operable to interface to a flash memory controller, and a test access port controller coupled to the USB slave device and operable to interface to a test access port. The diagnostic port can further include a system interface coupled to the USB slave device and operable to interface to an integrated controller. Via the diagnostic port, a USB testing tool with testing software can access and debug internal logic of the digital system.
As an alternative to a USB diagnostic port, the serial bus diagnostic port can be implemented in a variety of wired or wireless implementations such as, for example, an I.E.E.E. 1394 diagnostic port, an Ethernet diagnostic port, or a wireless Internet diagnostic port. Further, the serial bus diagnostic port can, for example, be used for software development, in-factory testing or in-field diagnostics of the digital system.